package org.springblade.modules.admin.mapper;

import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.admin.entity.MaintainBusinessLog;
import org.springblade.modules.admin.vo.ElevatorRepairLogVO;
import org.springblade.modules.admin.vo.ElevatorRescueLogVO;
import org.springblade.modules.admin.vo.ElevatorSignLogVO;
import org.springblade.modules.admin.vo.MaintainBusinessLogVO;

import java.util.Date;
import java.util.List;


/**
 * @author Sharry
 * @since 2023/2/9 17:43
 */
public interface MaintainBusinessLogMapper extends BaseMapper<MaintainBusinessLog> {
    List<MaintainBusinessLog> listNewestGroupByElevator(@Param("elevatorIds") List<Long> elevatorIds,@Param("type") int type);
	/**
	 * 根据务类型查询日志分页
	 * @param page 分页参数
	 * @param paramKey 关键字id
	 * @param beginTime 开始时间
	 * @param endTime 结束时间
	 * @param type 业务类型
	 * @return 分页信息结果
	 */
    IPage<MaintainBusinessLogVO> selectBusinessLogPages(IPage<MaintainBusinessLogVO> page, Long paramKey, Integer type, String beginTime, String endTime);

	/**
	 * 单梯签字日志
	 * @param elevatorId 电梯id
	 * @param beginTime 开始时间
	 * @param endTime 结束时间
	 * @param page 分页信息
	 * @param tenantId 手动租户id
	 * @return 签到日志分页
	 */
    IPage<ElevatorSignLogVO> getSingleSignLog(Long elevatorId, String beginTime, String endTime, IPage<ElevatorSignLogVO> page,String tenantId);

	/**
	 * 单梯维修日志
	 * @param page 分页参数
	 * @param elevatorId 电梯id
	 * @param beginTime 开始时间
	 * @param endTime 结束时间
	 * @return 维修日志
	 */
	IPage<ElevatorRepairLogVO> getSingleRepairLog(IPage<ElevatorRepairLogVO> page, Long elevatorId, Date beginTime, Date endTime);

	/**
	 * 单梯救援日志
	 * @param page 分页参数
	 * @param elevatorId 电梯id
	 * @param beginTime 开始时间
	 * @param endTime 结束时间
	 * @return 救援日志
	 */
    IPage<ElevatorRescueLogVO> getSingleRescueLog(IPage<Object> page, Long elevatorId, Date beginTime, Date endTime);
}
